1. Field of the Invention
The present invention relates to data transmission between a sending device and a receiving device.
The invention can be applied especially but not exclusively to data transmission in a system of video distribution between a source application (that generates for example a video content coming from a DVD player) placed upstream to the sending device and at least one receiving application (for example a television set) placed downstream to the receiving device.
The present invention also relates to management of source encoding implemented by an encoder included in the sending device located upstream to a transmission channel, for example of a synchronous type and with constant bandwidth (i.e. with constant bit rate).
2. Description of the Related Art
In a system of video distribution between a source application and at least one receiver application, the pieces of applications data to be transmitted are preliminarily stored in a buffer memory of the sending device before this data is transported through the transmission channel implemented in the system. This buffer memory is designed to absorb the difference in rate between an applications clock defining the applications data production clock rate and a network clock defining the applications data transmission clock rate for transmission through the transmission channel. However, this difference in rate is not entirely absorbed by the buffer memory and a divergence remains between the rate of production of the data by the applications layer and the rate of transportation of this data by the transport layer. A divergence of this kind may lead to a modification of the end-to-end latency of the system.
For low-latency real-time distribution systems supporting for example interactive type video applications, the preferred transmission channel is of a synchronous type with constant bit rate, guaranteeing a constant transmission time.
However, in view of this property of constant bit rate, it is necessary in the sending device to match the quantity of data to be transmitted with the capacity of the transmission channel. The pieces of raw data (for example of a video type) coming from the application are then compressed by the sending device before transmission.
Radio transmission systems working in the 60 GHz (RF millimeter waveband) are particularly well suited to the short-distance transmission of data at very high bit-rates. However, the random nature of the transmission channel may cause the network layer to modify the bandwidth allocated to an application in order to adapt its retransmission scheme or error-correction scheme to the new conditions of transmission. In such cases, the application must also match its data volume to the new capacity of the transmission channel that is dedicated to it and thus modify its source encoding parameters.
One of the main problems related to the modification of the source encoding (i.e. the encoding parameters used by the encoder to encode the applications data blocks) following a reallocation of the bandwidth is to maintain a constant quality of service, i.e. to prevent any interruption of the application for the user. To avoid this type of unpleasantness, the system should be able to maintain a constant end-to-end latency despite the combined changes in bandwidth and source encoding. Thus, when the bandwidth diminishes and increases respectively, the compression rate of the source encoding must be higher and lower respectively.
Furthermore, in a system with low transmission latency, i.e. a system where the memory resources are small, there is little room for maneuver to compensate for modifications in end-to-end latency, even transient modifications, which lead to overflows of buffer memory of the sending device and/or the receiving device.
In the prior art, there are several techniques of source encoding modification that take account of the parameters of the network.
According to a known approach presented in the patent document GB 2306073, the quantification parameters as well as the bit-rate requirements are computed as a function of “leaky bucket” parameters and the fill rate of the different buffer memories. This is in order to avoid congestion phenomena.
One drawback of this prior art approach lies in the unpredictable nature of the effective switch-over at the level of transport between applications data that have undergone a first source encoding and applications data that have undergone a second source encoding.
Thus, in the above mentioned context of a combined change of bandwidth and source encoding, using the above-mentioned known approach, it can happen that the source encoding is not consistent with the bandwidth allocated during several transport periods, thus leading to a modification of the end-to-end latency or a poor use of the bandwidth allocated to the application.